package com.sign2024.sign2024project.signBase.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sign2024.sign2024project.capitalconstruction.vo.JjProgectVo;
import com.sign2024.sign2024project.signBase.entry.SignBase;
import com.sign2024.sign2024project.signBase.param.BaseParam;
import com.sign2024.sign2024project.signBase.vo.GCBaseVo;
import com.sign2024.sign2024project.signBase.vo.WzBaseVo;

import java.util.List;

/**
 * 评标基地信息表;(sign_base)表服务接口
 *
 * @author yujie
 * @data 2024/11/25 15:42
 */
public interface SignBaseService {

    /**
     * 分页查询 评标基地 信息
     *
     * @param param 分页参数
     * @return 分页数据信息
     */
    Page<SignBase> pageSignBase(BaseParam param);

    /**
     * 新增数据
     *
     * @param signBase 实例对象
     * @return 实例对象
     */
    void insertSignBase(SignBase signBase);

    /**
     * 更新数据
     *
     * @param signBase 实例对象
     * @return 实例对象
     */
    void updateSignBase(SignBase signBase);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);

    /**
     * 生成 工程服务 评标基地抽取方案
     *
     * @param list 工程服务抽取方案信息
     */
//    void createSignBase(List<GCProgectVo> list);
    List<GCBaseVo> createSignBase(List<GCBaseVo> list, String baseName);

    /**
     * 生成 基建 评标基地抽取方案
     *
     * @param list 基建 抽取方案信息
     */
    List<JjProgectVo> createJjSignBase(List<JjProgectVo> list, String baseName);

    /**
     * 生成 物资 评标基地抽取方案
     *
     * @param list 物资 抽取方案信息
     */
    List<WzBaseVo> createWzSignBase(List<WzBaseVo> list, String baseName);
}
